概要
秀丸マクロから呼び出すhmJSの関数(API)は多くありません。
ほとんどの場合は、「DoString」だけを使うこととなるでしょう。
JavaScriptファイルを別ファイルにした場合には、「DoFile」を使うことになるハズです。
-
命令の実行:
└ DoString(szexpression)
文字列「szexpression」をJavaScriptの命令として実行します。
何らかの明確な内部エラーがあった場合は0が、とりあえず実行できた場合は1が返ってきます。
-
1つのマクロ内で「DoString」は複数回実行可能、変数空間も同じ
#JS = loaddll( hidemarudir + @"\hmJS.dll" );
#_ = dllfuncw( #JS, "DoString", R"JS(
aaa = "あいうお";
function mysum(a, b) {
return a + b;
}
)JS"
);
#bbb = 123;
#_ = dllfuncw( #JS, "DoString", R"JS(
bbb = hm.Macro.Var('#bbb');
ccc = aaa + "続いている"; // 別のDoStringでも、aaa は引き続き利用できる。
hm.Macro.Var('$ddd', ccc );
hm.debuginfo( mysum(1,2) ); // 別のDoStringで定義した関数も当然利用できる。
)JS"
);
message($ddd);
freedll( #JS );
-
命令の実行:
└ DoFile(filename)
ファイル名「filename」内の記述内容全体をDoString(...)の引数に渡したものとして実行します。
何らかの明確な内部エラーがあった場合は0が、とりあえず実行できた場合は1が返ってきます。
-
.jsファイルの文字コードの変更など:
└ SetCodePage(codepage)
「.js」ファイルは、「utf8」が想定されていますが、それ以外で取り扱いたい場合、
「SetCodePage」関数を利用してください。
この関数は「読み込み対象のファイル」が、該当のコードで記述してある、 という指定となります。